#!/usr/bin/env python3
"""
验证Cursor MCP配置的测试脚本
"""

import json
import os

def check_mcp_config():
    """检查MCP配置文件"""
    config_path = "/home/lsl/.cursor/mcp.json"
    
    print("=== 检查Cursor MCP配置 ===")
    
    if not os.path.exists(config_path):
        print("❌ MCP配置文件不存在")
        return False
    
    try:
        with open(config_path, 'r', encoding='utf-8') as f:
            config = json.load(f)
        
        print("✅ MCP配置文件存在")
        
        if 'adb-mcp-server' in config.get('mcpServers', {}):
            server_config = config['mcpServers']['adb-mcp-server']
            print("✅ adb-mcp-server 配置存在")
            print(f"   命令: {server_config.get('command')}")
            print(f"   参数: {server_config.get('args')}")
            print(f"   工作目录: {server_config.get('cwd')}")
            print(f"   环境变量: {server_config.get('env')}")
            
            # 检查Python路径是否存在
            python_path = server_config.get('command')
            if os.path.exists(python_path):
                print("✅ Python解释器路径存在")
            else:
                print(f"❌ Python解释器路径不存在: {python_path}")
                return False
            
            # 检查服务器脚本是否存在
            server_script = server_config.get('args', [])[0] if server_config.get('args') else None
            if server_script and os.path.exists(server_script):
                print("✅ 服务器脚本存在")
            else:
                print(f"❌ 服务器脚本不存在: {server_script}")
                return False
            
            return True
        else:
            print("❌ adb-mcp-server 配置不存在")
            return False
            
    except Exception as e:
        print(f"❌ 读取配置文件失败: {e}")
        return False


def check_environment():
    """检查环境配置"""
    print("\n=== 检查环境配置 ===")
    
    # 检查虚拟环境
    venv_path = "/home/lsl/10Dev/20Python/30Venv/.mcp_server_adb"
    if os.path.exists(venv_path):
        print("✅ 虚拟环境存在")
    else:
        print(f"❌ 虚拟环境不存在: {venv_path}")
        return False
    
    # 检查项目目录
    project_path = "/mnt/hgfs/11WorkSpace/mcp_server_adb"
    if os.path.exists(project_path):
        print("✅ 项目目录存在")
    else:
        print(f"❌ 项目目录不存在: {project_path}")
        return False
    
    return True


def main():
    """主函数"""
    print("Cursor MCP配置验证")
    print("=" * 50)
    
    config_ok = check_mcp_config()
    env_ok = check_environment()
    
    print("\n=== 验证结果 ===")
    if config_ok and env_ok:
        print("🎉 所有配置验证通过！")
        print("\n下一步操作：")
        print("1. 在Cursor中重启MCP服务")
        print("2. 在Cursor中测试ADB功能")
        print("3. 使用以下命令测试：")
        print("   - list_devices")
        print("   - get_device_info")
        print("   - check_device_status")
    else:
        print("❌ 配置验证失败，请检查上述问题")


if __name__ == "__main__":
    main()
